#ifndef ASSET_MANAGER_H
#define ASSET_MANAGER_H

#include "Objects.h"

#include <string>

class Polygon;
/**
 * Gère et permet de charger des modèles OBJ
 */
class OBJECT_API AssetManager
{
	public:
		/**
		* @brief Retourne l'instance de la classe - SINGLETON
		*/
		static AssetManager* getInstance();			
		~AssetManager();

		/**
		* @brief Charge en mémoire un object en 3D
		* @param filename Le nom du ficher
        * @param smooth vrai si on smooth le Polygon
		* @return Un pointeur de type Polygon
		*/
		Polygon *loadObject(std::string filename,bool smooth=true);

	private:
		static AssetManager		m_Instance;			///< Instance de la classe
		AssetManager();								//< Constructeur privé
}; // AssetManager class

#endif
